/*
 * MyGWT User Extensions
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package net.mygwt.ux.samples.explorer.client;

import net.mygwt.ui.client.Events;
import net.mygwt.ui.client.Style;
import net.mygwt.ui.client.event.BaseEvent;
import net.mygwt.ui.client.event.Listener;
import net.mygwt.ui.client.event.SelectionListener;
import net.mygwt.ui.client.widget.Button;
import net.mygwt.ui.client.widget.ButtonBar;
import net.mygwt.ui.client.widget.Info;
import net.mygwt.ui.client.widget.WidgetContainer;
import net.mygwt.ui.client.widget.layout.FlowLayout;
import net.mygwt.ux.client.widgets.InputBox;
import net.mygwt.ux.client.widgets.InputDialog;

/**
 * 
 * @author mgarin
 * @author ggeorg
 * 
 */
public class InputPage extends Page {

  protected void createWidget(WidgetContainer container) {

    Button btn1 = new Button("InputBox Test", new SelectionListener() {

      public void widgetSelected(BaseEvent be) {
        final InputBox inputBox = new InputBox(Style.MODAL | Style.OK_CANCEL);
        inputBox.setText("Title ...");
        inputBox.setValue("some initial text");
        inputBox.setMessage("Message ....");
        inputBox.addListener(Events.Close, new Listener() {
          public void handleEvent(BaseEvent be) {
            if (be.type == Events.Close) {
              Button btn = inputBox.getButtonPressed();
              if (btn.getButtonId() == InputBox.OK_ID) {
                Info.show("InputBox Event", "Input value is {0}", inputBox.getValue());
              }
            }
          }
        });
        inputBox.open();
      }

    });
    
    Button btn2 = new Button("InputDialog Test", new SelectionListener() {

      public void widgetSelected(BaseEvent be) {
        final InputDialog inputDialog = new InputDialog();
        inputDialog.setIconStyle("icon-widget");
        inputDialog.setTitle("Test");
        inputDialog.setMessageText("Enter some text:");
        inputDialog.addOkListener(new SelectionListener() {
          public void widgetSelected(BaseEvent be) {
            // do something with entered text
            inputDialog.getInputText();
            Info.show("InputDialog Event", "Input value is {0}",
                inputDialog.getInputText());
          }
        });
        inputDialog.open();
      }

    });
    
    ButtonBar buttonBar = new ButtonBar(Style.LEFT);
    buttonBar.add(btn1);
    buttonBar.add(btn2);

    container.setLayout(new FlowLayout(10));
    container.add(buttonBar);
  }

}
